<?php

namespace app\common\service;

use app\common\service\Base;

class SkuStockMap extends Base
{

	/**
	 * 根据SKU获取库存统计详细
	 *
	 * @author KING
	 * @date 2019年5月28日
	 *
	 * @param string $sku
	 */
	public function getSkuStat($sku) {
		$list = db('sku_stock_map')->where('sku', $sku)->field('size_name,item_count')->select();
		$result = ['detail' => '', 'total' => 0];
		$result['total'] = array_sum(array_column($list, 'item_count'));
		$detailArr = [];
		foreach ($list as $k => $v) {
			$detailArr[] = $v['size_name'] . ':' . $v['item_count'];
		}
		$result['detail'] = implode('<br>', $detailArr);
		return $result;
	}

	/**
	 * 指定订单尺码数量检测
	 *
	 * @author KING
	 * @date 2019年5月29日
	 *
	 * @param string $sku
	 * @param string $sizeName
	 * @param integer $count
	 */
	public function checkStock($sku, $sizeName, $count) {
		if ($count >= 0) return true;
		$skuStockMapInfo = db('sku_stock_map')->where(["sku" => $sku, "size_name" => $sizeName])->findOrEmpty();
		if (empty($skuStockMapInfo) || $skuStockMapInfo && ($count+$skuStockMapInfo['item_count']) < 0) return false;
		return true;
	}

	/**
	 * 根据sku获取成品库存数
	 *
	 * @author KING
	 * @date 2020年4月16日
	 *
	 * @param string $sku
	 * @return number
	 */
	public function getTotalBySku($sku) {
		return db('sku_stock_map')->where('sku', $sku)->sum('item_count');
	}

}